//Name: Attack state
//Author:Max Charnock
//Last Updated: 20/05/2014
//Purpose:singleton state that makes an enemy attack the player

#pragma once

#include "AbstractState.h"
#include "AbstractEnemy.h"

class Attack: public State<AbstractEnemy>
{
	private:
		Attack();
		~Attack();	
		static Attack* pInst;

		XMFLOAT3 PrevPos;
		float TravDistance;

	public:
		static Attack* GetInstance();
		void Enter(AbstractEnemy* pEnemy);
		void Exit(AbstractEnemy* pEnemy);
		void Execute(AbstractEnemy* pEnemy);
		static void Release();
};